En un sistema multiprogramado la memoria principal contiene varios
procesos. Cada proceso alterna entre el procesador y esperar que se
realice una operación de E/S o que ocurra algún otro
suceso. El procesador o los procesadores se mantienen ocupados
ejecutando un proceso mientras los demás lo esperan.
La
clave de la multiprogramación esta en la planificación,
normalmente son cuatro los tipos de planificación que entran
en juego. Una de ellas es la planificación de E/S, la otras
tres son clases de planificación del procesador.
La
planificación del procesador consiste en asignar procesos al
procesador o los procesadores para que sean ejecutados a lo largo del
tiempo, de forma que se cumplan objetivos del sistema tales como el
tiempo de respuesta, la productividad y la eficiencia del procesado.
En muchos sistemas, la actividad de planificación se
divide en tres funciones independientes: planificación a
largo, medio, y corto plazo.
El propósito de esta
monografía es brindar información acerca de la
planificación de sistemas de un solo procesador; ya que de
aquí partimos para entender la complejidad que se añade
con la presencia de varios procesadores.
El esquema muestra la relación de las funciones de planificación con el diagrama de transición de estados de un proceso.
La planificación a largo
plazo se lleva a cabo al crear un proceso nuevo. Se corresponde con
la decisión de añadir un nuevo proceso al conjunto de
procesos que ya están activos.
La planificación a
medio plazo forma parte de la función de intercambio.
Esta es la decisión de añadir un proceso a los que se encuentran, al menos parcialmente, en la memoria principal y por lo tanto disponibles para la ejecución.
La planificación a corto plazo consiste en decidir que proceso en estado de listo será el que se ejecute a continuación

La
figura muestra las colas involucradas en las transiciones de estados
de un proceso.
La planificación afecta el rendimiento del sistema, pues
determina que proceso esperará y cual
continuará.
Fundamentalmente, la planificación no es
sino una gestión de dichas colas que minimice la espera y
optimice el rendimiento del entorno.